<html>
<head><meta charset="utf-8"><title>meeting 2020-nov-12 · t-lang/project-never-type · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/index.html">t-lang/project-never-type</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html">meeting 2020-nov-12</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="216520447"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216520447" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216520447">(Nov 12 2020 at 20:06)</a>:</h4>
<p>hi Niko!</p>



<a name="216521208"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521208" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521208">(Nov 12 2020 at 20:13)</a>:</h4>
<p><span class="user-mention" data-user-id="128294">@blitzerr</span> hi!</p>



<a name="216521209"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521209" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521209">(Nov 12 2020 at 20:13)</a>:</h4>
<p>sorry</p>



<a name="216521216"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521216" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521216">(Nov 12 2020 at 20:13)</a>:</h4>
<p>I got held up!</p>



<a name="216521222"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521222" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521222">(Nov 12 2020 at 20:13)</a>:</h4>
<p>still around?</p>



<a name="216521602"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521602" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521602">(Nov 12 2020 at 20:16)</a>:</h4>
<p>hi <span class="user-mention" data-user-id="116009">@nikomatsakis</span></p>



<a name="216521685"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521685" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521685">(Nov 12 2020 at 20:17)</a>:</h4>
<p>how goes</p>



<a name="216521691"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521691" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521691">(Nov 12 2020 at 20:17)</a>:</h4>
<p>How do we want to do this today ?</p>



<a name="216521708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521708">(Nov 12 2020 at 20:17)</a>:</h4>
<p>so</p>



<a name="216521717"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521717" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521717">(Nov 12 2020 at 20:17)</a>:</h4>
<p>let's try zulip</p>



<a name="216521724"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521724" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521724">(Nov 12 2020 at 20:17)</a>:</h4>
<p>Our crater build failed</p>



<a name="216521731"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521731" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521731">(Nov 12 2020 at 20:17)</a>:</h4>
<p>tbqh I'm a bit at a loss</p>



<a name="216521789"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521789" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521789">(Nov 12 2020 at 20:18)</a>:</h4>
<p>I guess I can start by refreshing my memory of where we were</p>



<a name="216521818"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521818" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521818">(Nov 12 2020 at 20:18)</a>:</h4>
<p>It was mad seeing a comment when it expected a comma, but I am unsure why the normal build didn't complain</p>



<a name="216521859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521859">(Nov 12 2020 at 20:18)</a>:</h4>
<p>So last week. we discussed the problem a bit more.</p>



<a name="216521889"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521889" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521889">(Nov 12 2020 at 20:19)</a>:</h4>
<p>(remainds me, can you upload the recording) ?</p>



<a name="216521953"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216521953" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216521953">(Nov 12 2020 at 20:19)</a>:</h4>
<p>And we were discussing the objectc crate wasn't throwing the warning</p>



<a name="216522136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522136">(Nov 12 2020 at 20:20)</a>:</h4>
<p>didI not upload the requirement?</p>



<a name="216522143"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522143" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522143">(Nov 12 2020 at 20:20)</a>:</h4>
<p>yeah, so</p>



<a name="216522156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522156">(Nov 12 2020 at 20:20)</a>:</h4>
<p>We spent the most of time trying to see the two cases of warnings we got, if there is some way to avoid them, but we couldn't come up with a solution</p>



<a name="216522163"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522163" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522163">(Nov 12 2020 at 20:20)</a>:</h4>
<p>one part would be looking into the crate</p>



<a name="216522259"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522259" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522259">(Nov 12 2020 at 20:21)</a>:</h4>
<p>and why it doens't trigger</p>



<a name="216522272"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522272" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522272">(Nov 12 2020 at 20:21)</a>:</h4>
<p>I guess the other thing I was thinking about earlier</p>



<a name="216522289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522289">(Nov 12 2020 at 20:22)</a>:</h4>
<p>is whether we could remove the <em>whole idea</em> of fallback</p>



<a name="216522307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522307">(Nov 12 2020 at 20:22)</a>:</h4>
<p>I decided obviously not</p>



<a name="216522338"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522338" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522338">(Nov 12 2020 at 20:22)</a>:</h4>
<p>for better or worse that would not be backwards compatible</p>



<a name="216522385"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522385" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522385">(Nov 12 2020 at 20:22)</a>:</h4>
<blockquote>
<p>is whether we could remove the whole idea of fallback<br>
Very interesting !</p>
</blockquote>



<a name="216522393"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522393" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522393">(Nov 12 2020 at 20:22)</a>:</h4>
<p>but what we could <em>maybe</em> do is tweak how or where it applies</p>



<a name="216522441"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522441" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522441">(Nov 12 2020 at 20:23)</a>:</h4>
<p>I am listening <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="216522462"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522462" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522462">(Nov 12 2020 at 20:23)</a>:</h4>
<p><span class="user-mention silent" data-user-id="128294">blitzerr</span> <a href="#narrow/stream/259160-t-lang.2Fproject-never-type/topic/meeting.202020-nov-12/near/216522385">said</a>:</p>
<blockquote>
<p>Very interesting !</p>
</blockquote>
<p>the problem is that things like the <code>Err(X)?</code> pattern would stop compiling</p>



<a name="216522482"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522482" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522482">(Nov 12 2020 at 20:23)</a>:</h4>
<p>even though I think that would be <em>good</em></p>



<a name="216522487"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522487" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522487">(Nov 12 2020 at 20:23)</a>:</h4>
<p>well, maybe not <em>good</em></p>



<a name="216522499"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522499" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522499">(Nov 12 2020 at 20:23)</a>:</h4>
<p>Even with your renewed thought process ?</p>



<a name="216522505"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522505" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522505">(Nov 12 2020 at 20:23)</a>:</h4>
<p>well, no, I think that would be good :) but it would break code</p>



<a name="216522520"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522520" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522520">(Nov 12 2020 at 20:23)</a>:</h4>
<p>well no I mean if we just removed fallback</p>



<a name="216522659"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522659" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522659">(Nov 12 2020 at 20:24)</a>:</h4>
<p>Like we have never type but remove the fallback to never in cases that it does and preserve the earlier convention of fallback to <code>unit</code> ?</p>



<a name="216522671"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522671" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522671">(Nov 12 2020 at 20:24)</a>:</h4>
<p>I guess that we might be able to fix some of the specific cases</p>



<a name="216522677"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522677" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522677">(Nov 12 2020 at 20:24)</a>:</h4>
<p>in particular the <em>closure case</em></p>



<a name="216522699"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522699" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522699">(Nov 12 2020 at 20:24)</a>:</h4>
<p>by tweaking various details of the approach</p>



<a name="216522738"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522738" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522738">(Nov 12 2020 at 20:25)</a>:</h4>
<p><span class="user-mention silent" data-user-id="128294">blitzerr</span> <a href="#narrow/stream/259160-t-lang.2Fproject-never-type/topic/meeting.202020-nov-12/near/216522659">said</a>:</p>
<blockquote>
<p>Like we have never type but remove the fallback to never in cases that it does and preserve the earlier convention of fallback to <code>unit</code> ?</p>
</blockquote>
<p>so, this is an alternative too, but it has some downsides</p>



<a name="216522744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522744">(Nov 12 2020 at 20:25)</a>:</h4>
<p>I guess there are a few things on the table</p>



<a name="216522836"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522836" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522836">(Nov 12 2020 at 20:25)</a>:</h4>
<p>ok let me step back</p>



<a name="216522843"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522843" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522843">(Nov 12 2020 at 20:25)</a>:</h4>
<p>what we know is:</p>



<a name="216522861"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522861" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522861">(Nov 12 2020 at 20:25)</a>:</h4>
<ul>
<li>the actual objc example doesn't fit the pattern I thought it did</li>
</ul>



<a name="216522871"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216522871" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216522871">(Nov 12 2020 at 20:26)</a>:</h4>
<p>So, if you can point me to some of the files/code I can read up, I can give it a whirl ?</p>



<a name="216523008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523008">(Nov 12 2020 at 20:26)</a>:</h4>
<p>I don't have a specific enough idea yet :)</p>



<a name="216523022"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523022" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523022">(Nov 12 2020 at 20:27)</a>:</h4>
<p>I'm looking again at the objc case</p>



<a name="216523064"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523064" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523064">(Nov 12 2020 at 20:27)</a>:</h4>
<p><code>::objc::__send_message(&amp;*obj, sel, ()) </code></p>



<a name="216523153"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523153" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523153">(Nov 12 2020 at 20:28)</a>:</h4>
<p><a href="https://docs.rs/objc/0.2.6/objc/trait.Message.html#method.send_message">rustdoc</a></p>



<a name="216523236"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523236" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523236">(Nov 12 2020 at 20:28)</a>:</h4>
<p>so I think a better condensed version of this this is</p>



<a name="216523333"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523333" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523333">(Nov 12 2020 at 20:29)</a>:</h4>
<p>oh hmm</p>



<a name="216523383"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523383" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523383">(Nov 12 2020 at 20:29)</a>:</h4>
<p>actually I'm not sure why we aren't seeing a warning!</p>



<a name="216523716"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523716" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523716">(Nov 12 2020 at 20:31)</a>:</h4>
<p>I will try to explore the "why" part.</p>



<a name="216523764"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523764" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523764">(Nov 12 2020 at 20:31)</a>:</h4>
<p>yeah</p>



<a name="216523768"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523768" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523768">(Nov 12 2020 at 20:31)</a>:</h4>
<p>it's confusing</p>



<a name="216523787"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523787" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523787">(Nov 12 2020 at 20:32)</a>:</h4>
<p>sorry, I was doing a bit of testing</p>



<a name="216523854"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523854" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523854">(Nov 12 2020 at 20:32)</a>:</h4>
<p>no problem</p>



<a name="216523940"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523940" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523940">(Nov 12 2020 at 20:32)</a>:</h4>
<p>this is the "canonical expample"</p>



<a name="216523945"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523945" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523945">(Nov 12 2020 at 20:32)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">fn</span> <span class="nf">unconstrained_return</span><span class="o">&lt;</span><span class="n">T</span><span class="o">&gt;</span><span class="p">()</span><span class="w"> </span>-&gt; <span class="nb">Result</span><span class="o">&lt;</span><span class="n">T</span><span class="p">,</span><span class="w"> </span><span class="nb">String</span><span class="o">&gt;</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="kd">let</span><span class="w"> </span><span class="n">ffi</span>: <span class="nc">fn</span><span class="p">()</span><span class="w"> </span>-&gt; <span class="nc">T</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">transmute</span><span class="p">(</span><span class="n">some_pointer</span><span class="p">);</span><span class="w"></span>
<span class="w">    </span><span class="nb">Ok</span><span class="p">(</span><span class="n">ffi</span><span class="p">())</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
<span class="k">fn</span> <span class="nf">foo</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="k">match</span><span class="w"> </span><span class="n">unconstrained_return</span>::<span class="o">&lt;</span><span class="n">_</span><span class="o">&gt;</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">        </span><span class="nb">Ok</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w">  </span><span class="c1">// `x` has type `_`, which is unconstrained</span>
<span class="w">        </span><span class="nb">Err</span><span class="p">(</span><span class="n">s</span><span class="p">)</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">panic</span><span class="o">!</span><span class="p">(</span><span class="n">s</span><span class="p">),</span><span class="w">  </span><span class="c1">// … except for unifying with the type of `panic!()`</span>
<span class="w">        </span><span class="c1">// so that both `match` arms have the same type.</span>
<span class="w">        </span><span class="c1">// Therefore `_` resolves to `!` and we "return" an `Ok(!)` value.</span>
<span class="w">    </span><span class="p">};</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="216523952"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216523952" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216523952">(Nov 12 2020 at 20:32)</a>:</h4>
<p>and indeed it gets a warning</p>



<a name="216524081"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524081" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524081">(Nov 12 2020 at 20:33)</a>:</h4>
<p>ya, we had libcore failed compiling because of those warnings. SO they do work in some cases <span aria-label="grinning" class="emoji emoji-1f600" role="img" title="grinning">:grinning:</span></p>



<a name="216524094"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524094" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524094">(Nov 12 2020 at 20:33)</a>:</h4>
<p>oh wait</p>



<a name="216524097"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524097" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524097">(Nov 12 2020 at 20:33)</a>:</h4>
<p>when I run <code>cargo expand</code></p>



<a name="216524107"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524107" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524107">(Nov 12 2020 at 20:33)</a>:</h4>
<p>and I paste in the <em>expanded</em> code</p>



<a name="216524119"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524119" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524119">(Nov 12 2020 at 20:33)</a>:</h4>
<p>I <em>do</em> get a warning</p>



<a name="216524130"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524130" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524130">(Nov 12 2020 at 20:34)</a>:</h4>
<p>so maybe it has to do with the macro</p>



<a name="216524189"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524189" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524189">(Nov 12 2020 at 20:34)</a>:</h4>
<p>maybe there is some logic that is suppressing the lint inside of a macro expansion?</p>



<a name="216524274"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524274" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524274">(Nov 12 2020 at 20:34)</a>:</h4>
<p>I didn't know about cargo expand <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="216524304"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524304" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524304">(Nov 12 2020 at 20:34)</a>:</h4>
<p>useful tool</p>



<a name="216524365"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524365" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524365">(Nov 12 2020 at 20:35)</a>:</h4>
<p>added to toolbox <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="216524377"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524377" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524377">(Nov 12 2020 at 20:35)</a>:</h4>
<p>doesn't always work</p>



<a name="216524389"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524389" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524389">(Nov 12 2020 at 20:35)</a>:</h4>
<p>anyway ok so <em>that</em> is interesting</p>



<a name="216524436"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524436" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524436">(Nov 12 2020 at 20:35)</a>:</h4>
<p>I'm wondering who is a good person to ping about this</p>



<a name="216524446"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524446" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524446">(Nov 12 2020 at 20:35)</a>:</h4>
<p>we could dig a bit into it ourselves</p>



<a name="216524541"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524541" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524541">(Nov 12 2020 at 20:36)</a>:</h4>
<p>e.g., if you dig into <code>struct_span_lint_hir</code></p>



<a name="216524556"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524556" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524556">(Nov 12 2020 at 20:36)</a>:</h4>
<p>presuming the lint is being <em>emitted</em></p>



<a name="216524579"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524579" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524579">(Nov 12 2020 at 20:36)</a>:</h4>
<p>I guess we should validate this with a <code>debug!</code></p>



<a name="216524598"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524598" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524598">(Nov 12 2020 at 20:36)</a>:</h4>
<p>but there must be <em>some</em> logic that is supressing it</p>



<a name="216524613"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524613" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524613">(Nov 12 2020 at 20:36)</a>:</h4>
<p>okay, I will do that.</p>



<a name="216524620"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524620" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524620">(Nov 12 2020 at 20:37)</a>:</h4>
<p>in any case, that is somewhat encouraging, because it suggests that the main task then is to see if we can suppress the false warnings</p>



<a name="216524680"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524680" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524680">(Nov 12 2020 at 20:37)</a>:</h4>
<p>ok well</p>



<a name="216524684"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524684" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524684">(Nov 12 2020 at 20:37)</a>:</h4>
<p>I found it :P</p>



<a name="216524687"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524687" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524687">(Nov 12 2020 at 20:37)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="w">        </span><span class="c1">// If this code originates in a foreign macro, aka something that this crate</span>
<span class="w">        </span><span class="c1">// did not itself author, then it's likely that there's nothing this crate</span>
<span class="w">        </span><span class="c1">// can do about it. We probably want to skip the lint entirely.</span>
<span class="w">        </span><span class="k">if</span><span class="w"> </span><span class="n">err</span><span class="p">.</span><span class="n">span</span><span class="p">.</span><span class="n">primary_spans</span><span class="p">().</span><span class="n">iter</span><span class="p">().</span><span class="n">any</span><span class="p">(</span><span class="o">|</span><span class="n">s</span><span class="o">|</span><span class="w"> </span><span class="n">in_external_macro</span><span class="p">(</span><span class="n">sess</span><span class="p">,</span><span class="w"> </span><span class="o">*</span><span class="n">s</span><span class="p">))</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
</code></pre></div>



<a name="216524744"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524744" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524744">(Nov 12 2020 at 20:37)</a>:</h4>
<p>take a look at <code>struct_lint_level_impl</code></p>



<a name="216524838"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524838" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524838">(Nov 12 2020 at 20:38)</a>:</h4>
<p>you can see that there some settings you can tweak on the lint to make it report <em>even though</em> it's in resulting from the use of an external macro</p>



<a name="216524850"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524850" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524850">(Nov 12 2020 at 20:38)</a>:</h4>
<p>That makes sense why it gets suppressed</p>



<a name="216524868"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524868" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524868">(Nov 12 2020 at 20:38)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="w">             </span><span class="k">if</span><span class="w"> </span><span class="n">future_incompatible</span><span class="p">.</span><span class="n">is_none</span><span class="p">()</span><span class="w"> </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="o">!</span><span class="n">lint</span><span class="p">.</span><span class="n">report_in_external_macro</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
</code></pre></div>



<a name="216524926"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524926" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524926">(Nov 12 2020 at 20:38)</a>:</h4>
<p>we should tweak those and see what breaks :)</p>



<a name="216524979"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216524979" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216524979">(Nov 12 2020 at 20:39)</a>:</h4>
<p>I see. This is a nested function.</p>



<a name="216525215"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525215" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525215">(Nov 12 2020 at 20:41)</a>:</h4>
<p><code>report_in_external_macro</code></p>



<a name="216525256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525256">(Nov 12 2020 at 20:41)</a>:</h4>
<p>Okay, so it is optional. I will tweak it.</p>



<a name="216525370"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525370" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525370">(Nov 12 2020 at 20:42)</a>:</h4>
<p>yep</p>



<a name="216525376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525376">(Nov 12 2020 at 20:42)</a>:</h4>
<p>that's a first thing to do</p>



<a name="216525391"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525391" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525391">(Nov 12 2020 at 20:42)</a>:</h4>
<p>I'm curious why the PR results in errors</p>



<a name="216525395"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525395" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525395">(Nov 12 2020 at 20:42)</a>:</h4>
<p>I should take a look at that</p>



<a name="216525497"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525497" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525497">(Nov 12 2020 at 20:43)</a>:</h4>
<p><code>report_in_external_macro</code> I will set that option while creating the Lint. Currently I was using a helper macro to create the lint.</p>



<a name="216525508"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525508" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525508">(Nov 12 2020 at 20:43)</a>:</h4>
<p>That's should be a simple change.</p>



<a name="216525513"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525513" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525513">(Nov 12 2020 at 20:43)</a>:</h4>
<p>anyway, this is the example that still bothers me</p>



<a name="216525516"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525516" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525516">(Nov 12 2020 at 20:43)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="n">tls</span>::<span class="n">with_opt</span><span class="p">(</span><span class="k">move</span><span class="w"> </span><span class="o">|</span><span class="n">tcx</span><span class="o">|</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">     </span><span class="kd">let</span><span class="w"> </span><span class="n">msg</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">format</span><span class="o">!</span><span class="p">(</span><span class="s">"{}: {}"</span><span class="p">,</span><span class="w"> </span><span class="n">location</span><span class="p">,</span><span class="w"> </span><span class="n">args</span><span class="p">);</span><span class="w"></span>
<span class="w">     </span><span class="k">match</span><span class="w"> </span><span class="p">(</span><span class="n">tcx</span><span class="p">,</span><span class="w"> </span><span class="n">span</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">         </span><span class="p">(</span><span class="nb">Some</span><span class="p">(</span><span class="n">tcx</span><span class="p">),</span><span class="w"> </span><span class="nb">Some</span><span class="p">(</span><span class="n">span</span><span class="p">))</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">tcx</span><span class="p">.</span><span class="n">sess</span><span class="p">.</span><span class="n">diagnostic</span><span class="p">().</span><span class="n">span_bug</span><span class="p">(</span><span class="n">span</span><span class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span class="n">msg</span><span class="p">),</span><span class="w"></span>
<span class="w">         </span><span class="p">(</span><span class="nb">Some</span><span class="p">(</span><span class="n">tcx</span><span class="p">),</span><span class="w"> </span><span class="nb">None</span><span class="p">)</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">tcx</span><span class="p">.</span><span class="n">sess</span><span class="p">.</span><span class="n">diagnostic</span><span class="p">().</span><span class="n">bug</span><span class="p">(</span><span class="o">&amp;</span><span class="n">msg</span><span class="p">),</span><span class="w"></span>
<span class="w">         </span><span class="p">(</span><span class="nb">None</span><span class="p">,</span><span class="w"> </span><span class="n">_</span><span class="p">)</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">panic</span><span class="o">!</span><span class="p">(</span><span class="n">msg</span><span class="p">),</span><span class="w"></span>
<span class="w">     </span><span class="p">}</span><span class="w"></span>
<span class="w"> </span><span class="p">});</span><span class="w"></span>
</code></pre></div>



<a name="216525527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525527">(Nov 12 2020 at 20:43)</a>:</h4>
<p>and this is where I was wondering if we can tweak things to suppress it</p>



<a name="216525563"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525563" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525563">(Nov 12 2020 at 20:43)</a>:</h4>
<p>but I'm not sure how yet</p>



<a name="216525583"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525583" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525583">(Nov 12 2020 at 20:43)</a>:</h4>
<p>there are a lot of inference variables involved</p>



<a name="216525676"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525676" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525676">(Nov 12 2020 at 20:44)</a>:</h4>
<p>currently fallback triggers whenever a <code>!</code> is coerced to an inference variable</p>



<a name="216525727"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525727" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525727">(Nov 12 2020 at 20:44)</a>:</h4>
<p>what I <em>could</em> imagine is</p>



<a name="216525779"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525779" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525779">(Nov 12 2020 at 20:45)</a>:</h4>
<p>do not issue the lint if:</p>



<a name="216525902"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525902" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525902">(Nov 12 2020 at 20:46)</a>:</h4>
<p>the node that has the type which fell back to <code>!</code> is a function call, and the return type is some inference variable that was attached to the call</p>



<a name="216525946"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525946" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525946">(Nov 12 2020 at 20:46)</a>:</h4>
<p>e.g., the <code>with_opt</code> function has the singature <code>fn with_opt&lt;...R..&gt;() -&gt; R</code></p>



<a name="216525950"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525950" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525950">(Nov 12 2020 at 20:46)</a>:</h4>
<blockquote>
<p>do not issue the lint if:</p>
</blockquote>
<p>never is a possibility but not the only option ?</p>



<a name="216525968"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216525968" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216525968">(Nov 12 2020 at 20:46)</a>:</h4>
<p>and we could suppress the lint on cases like this</p>



<a name="216526007"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526007" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526007">(Nov 12 2020 at 20:46)</a>:</h4>
<p>I feel like this makes sense but I'm trying to put into words why</p>



<a name="216526031"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526031" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526031">(Nov 12 2020 at 20:46)</a>:</h4>
<p>actualyl I guess</p>



<a name="216526061"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526061" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526061">(Nov 12 2020 at 20:47)</a>:</h4>
<p>we could just suppress the lint maybe on the result of function calls altogether</p>



<a name="216526226"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526226" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526226">(Nov 12 2020 at 20:48)</a>:</h4>
<p>I have an intution that this makes sense but again i'm struggling to put it into words</p>



<a name="216526243"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526243" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526243">(Nov 12 2020 at 20:48)</a>:</h4>
<p>it has to do with the fact that our analysis is "intra-function"</p>



<a name="216526285"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526285" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526285">(Nov 12 2020 at 20:48)</a>:</h4>
<p>hmm..</p>



<a name="216526351"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526351" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526351">(Nov 12 2020 at 20:49)</a>:</h4>
<p>basically .. in order for the fallback to occur ..</p>



<a name="216526394"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526394" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526394">(Nov 12 2020 at 20:49)</a>:</h4>
<p>this inference variable has to be "tainted" by some other thing that falls back</p>



<a name="216526404"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526404" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526404">(Nov 12 2020 at 20:49)</a>:</h4>
<p>and the lint should fire <em>there</em></p>



<a name="216526412"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526412" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526412">(Nov 12 2020 at 20:49)</a>:</h4>
<p>something like that</p>



<a name="216526456"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526456" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526456">(Nov 12 2020 at 20:49)</a>:</h4>
<p>How do we do the taint analysis in the compiler today ?</p>



<a name="216526471"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526471" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526471">(Nov 12 2020 at 20:50)</a>:</h4>
<p>it's not really taint</p>



<a name="216526531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526531">(Nov 12 2020 at 20:50)</a>:</h4>
<p>I mean I'm not talking about taint analysis in the jargon-y term</p>



<a name="216526537"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526537" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526537">(Nov 12 2020 at 20:50)</a>:</h4>
<p>I'm just saying that</p>



<a name="216526541"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526541" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526541">(Nov 12 2020 at 20:50)</a>:</h4>
<p>when you invoke a function call</p>



<a name="216526558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526558">(Nov 12 2020 at 20:50)</a>:</h4>
<p>its return value is either hard-coded as <code>!</code></p>



<a name="216526559"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526559" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526559">(Nov 12 2020 at 20:50)</a>:</h4>
<p>ahh ! <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="216526578"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526578" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526578">(Nov 12 2020 at 20:50)</a>:</h4>
<p>or else it comes from some type parameter</p>



<a name="216526604"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526604" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526604">(Nov 12 2020 at 20:50)</a>:</h4>
<p>those type parameters never have fallback on their own</p>



<a name="216526610"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526610" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526610">(Nov 12 2020 at 20:50)</a>:</h4>
<p>makes sense</p>



<a name="216526615"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526615" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526615">(Nov 12 2020 at 20:50)</a>:</h4>
<p>so for them to fallback to <code>!</code></p>



<a name="216526622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526622">(Nov 12 2020 at 20:50)</a>:</h4>
<p>they have to be unified with some <em>other</em> variable</p>



<a name="216526644"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526644" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526644">(Nov 12 2020 at 20:51)</a>:</h4>
<p>or unified with some value of type <code>!</code></p>



<a name="216526665"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526665" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526665">(Nov 12 2020 at 20:51)</a>:</h4>
<p>if they come from a variable of type <code>!</code>, then the call is dead, so it doesn't matter</p>



<a name="216526680"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526680" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526680">(Nov 12 2020 at 20:51)</a>:</h4>
<p>That makes sense. I can follow your chain of reasons</p>



<a name="216526707"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526707" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526707">(Nov 12 2020 at 20:51)</a>:</h4>
<p>if they wound up unified with some other variable, then that variable must have been used in some context where we could generate the lint if it applies</p>



<a name="216526709"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526709" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526709">(Nov 12 2020 at 20:51)</a>:</h4>
<p>that's the rough idea</p>



<a name="216526760"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526760" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526760">(Nov 12 2020 at 20:51)</a>:</h4>
<p>this logic applies to calls, but not necesarily other sorts of expressions</p>



<a name="216526840"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526840" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526840">(Nov 12 2020 at 20:52)</a>:</h4>
<p>so yeah I would add that to the code too</p>



<a name="216526858"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526858" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526858">(Nov 12 2020 at 20:52)</a>:</h4>
<p>(one other point is that we are going to want to add some logic to suppress duplicate warnings at <em>some</em> point....)</p>



<a name="216526874"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526874" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526874">(Nov 12 2020 at 20:52)</a>:</h4>
<p>we will still get a warning in this case:</p>



<a name="216526966"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216526966" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216526966">(Nov 12 2020 at 20:53)</a>:</h4>
<p>hmm..</p>



<a name="216527000"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527000" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527000">(Nov 12 2020 at 20:53)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="w"> </span><span class="n">parser</span><span class="p">.</span><span class="n">unexpected</span><span class="p">()</span><span class="o">?</span><span class="p">;</span><span class="w"></span>
</code></pre></div>



<a name="216527020"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527020" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527020">(Nov 12 2020 at 20:53)</a>:</h4>
<p>but arguably that warning is legitimate, as I said</p>



<a name="216527041"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527041" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527041">(Nov 12 2020 at 20:54)</a>:</h4>
<p>that's the case I'd prefer to be a hard error tbh</p>



<a name="216527089"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527089" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527089">(Nov 12 2020 at 20:54)</a>:</h4>
<p>same as <code>Err(X)?</code></p>



<a name="216527103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527103">(Nov 12 2020 at 20:54)</a>:</h4>
<p>that makes sense</p>



<a name="216527114"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527114" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527114">(Nov 12 2020 at 20:54)</a>:</h4>
<p>(but we can't)</p>



<a name="216527170"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527170" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527170">(Nov 12 2020 at 20:54)</a>:</h4>
<p>Not all pleasures one can have <span aria-label="grinning" class="emoji emoji-1f600" role="img" title="grinning">:grinning:</span></p>



<a name="216527186"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527186" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527186">(Nov 12 2020 at 20:54)</a>:</h4>
<p>yeah I mean basically we don't know whether</p>



<a name="216527201"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527201" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527201">(Nov 12 2020 at 20:55)</a>:</h4>
<p><code>parser.unexpected()</code> is actually doing some similar to what the objc crate did</p>



<a name="216527213"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527213" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527213">(Nov 12 2020 at 20:55)</a>:</h4>
<p>where it "gins up" a value that it shouldn't</p>



<a name="216527256"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527256" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527256">(Nov 12 2020 at 20:55)</a>:</h4>
<p>i.e., this is exactly the pattern we are TRYING to warn about</p>



<a name="216527320"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527320" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527320">(Nov 12 2020 at 20:55)</a>:</h4>
<p>ok, so, I have to run</p>



<a name="216527327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527327">(Nov 12 2020 at 20:56)</a>:</h4>
<p>do you think you know how to proceed? :)</p>



<a name="216527375"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527375" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527375">(Nov 12 2020 at 20:56)</a>:</h4>
<p>I think we identified two actionable things:</p>



<a name="216527392"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527392" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527392">(Nov 12 2020 at 20:56)</a>:</h4>
<ul>
<li>ensure we report lints in external spans</li>
<li>suppress the lint on call expressions</li>
</ul>



<a name="216527422"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527422" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527422">(Nov 12 2020 at 20:56)</a>:</h4>
<p>the latter.. I'm not sure the best way to do, given that we report the lint in a generic bit of code that just operates on a hir-id</p>



<a name="216527455"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527455" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527455">(Nov 12 2020 at 20:56)</a>:</h4>
<p>I can think of various ways to refactor the writeback code</p>



<a name="216527500"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527500" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527500">(Nov 12 2020 at 20:57)</a>:</h4>
<p>or you could check the hir-map or something (which is a way to lookup, based on a HirId, what kind of node you have)</p>



<a name="216527515"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527515" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527515">(Nov 12 2020 at 20:57)</a>:</h4>
<p>i.e., if you are about to report the lint, then check the map first</p>



<a name="216527646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527646">(Nov 12 2020 at 20:58)</a>:</h4>
<p>I will resubmit the PR after the first change</p>



<a name="216527708"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527708" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527708">(Nov 12 2020 at 20:58)</a>:</h4>
<p>The second one, if you can tell me the file/function to look at</p>



<a name="216527927"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527927" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527927">(Nov 12 2020 at 21:00)</a>:</h4>
<p>well so in <a href="http://writeback.rs">writeback.rs</a> we have this code:</p>



<a name="216527930"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527930" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527930">(Nov 12 2020 at 21:00)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">if</span><span class="w"> </span><span class="o">!</span><span class="bp">self</span><span class="p">.</span><span class="n">from_diverging_fallback</span><span class="p">.</span><span class="n">is_empty</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">            </span><span class="n">debug</span><span class="o">!</span><span class="p">(</span><span class="s">"hir_id:{}"</span><span class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span class="n">hir_id</span><span class="p">);</span><span class="w"></span>
<span class="w">            </span><span class="n">debug</span><span class="o">!</span><span class="p">(</span><span class="s">"n_ty_original:{}"</span><span class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span class="n">n_ty_original</span><span class="p">);</span><span class="w"></span>
<span class="w">            </span><span class="k">if</span><span class="w"> </span><span class="o">!</span><span class="bp">self</span><span class="p">.</span><span class="n">fcx</span><span class="p">.</span><span class="n">dead_nodes</span><span class="p">.</span><span class="n">borrow</span><span class="p">().</span><span class="n">contains</span><span class="p">(</span><span class="o">&amp;</span><span class="n">hir_id</span><span class="p">)</span><span class="w"></span>
<span class="w">                </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="bp">self</span><span class="p">.</span><span class="n">from_diverging_fallback</span><span class="p">.</span><span class="n">contains</span><span class="p">(</span><span class="o">&amp;</span><span class="n">n_ty_original</span><span class="p">)</span><span class="w"></span>
<span class="w">            </span><span class="p">{</span><span class="w"></span>
<span class="w">                </span><span class="bp">self</span><span class="p">.</span><span class="n">tcx</span><span class="p">().</span><span class="n">struct_span_lint_hir</span><span class="p">(</span><span class="w"></span>
<span class="w">                    </span><span class="n">rustc_session</span>::<span class="n">lint</span>::<span class="n">builtin</span>::<span class="n">FALL_BACK_TO_NEVER_TYPE</span><span class="p">,</span><span class="w"></span>
<span class="w">                    </span><span class="n">hir_id</span><span class="p">,</span><span class="w"></span>
<span class="w">                    </span><span class="n">span</span><span class="p">,</span><span class="w"></span>
<span class="w">                    </span><span class="o">|</span><span class="n">lint</span><span class="o">|</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">                        </span><span class="n">lint</span><span class="p">.</span><span class="n">build</span><span class="p">(</span><span class="o">&amp;</span><span class="n">format</span><span class="o">!</span><span class="p">(</span><span class="s">"resulted from diverging fallback: {:?}"</span><span class="p">,</span><span class="w"> </span><span class="n">n_ty</span><span class="p">)).</span><span class="n">emit</span><span class="p">()</span><span class="w"></span>
<span class="w">                    </span><span class="p">},</span><span class="w"></span>
<span class="w">                </span><span class="p">);</span><span class="w"></span>
<span class="w">            </span><span class="p">}</span><span class="w"></span>
<span class="w">        </span><span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="216527942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527942">(Nov 12 2020 at 21:00)</a>:</h4>
<p>I think it wants to become something like</p>



<a name="216527996"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216527996" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216527996">(Nov 12 2020 at 21:01)</a>:</h4>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">if</span><span class="w"> </span><span class="o">!</span><span class="bp">self</span><span class="p">.</span><span class="n">from_diverging_fallback</span><span class="p">.</span><span class="n">is_empty</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">            </span><span class="n">debug</span><span class="o">!</span><span class="p">(</span><span class="s">"hir_id:{}"</span><span class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span class="n">hir_id</span><span class="p">);</span><span class="w"></span>
<span class="w">            </span><span class="n">debug</span><span class="o">!</span><span class="p">(</span><span class="s">"n_ty_original:{}"</span><span class="p">,</span><span class="w"> </span><span class="o">&amp;</span><span class="n">n_ty_original</span><span class="p">);</span><span class="w"></span>
<span class="w">            </span><span class="k">if</span><span class="w"> </span><span class="o">!</span><span class="bp">self</span><span class="p">.</span><span class="n">fcx</span><span class="p">.</span><span class="n">dead_nodes</span><span class="p">.</span><span class="n">borrow</span><span class="p">().</span><span class="n">contains</span><span class="p">(</span><span class="o">&amp;</span><span class="n">hir_id</span><span class="p">)</span><span class="w"></span>
<span class="w">                </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="bp">self</span><span class="p">.</span><span class="n">from_diverging_fallback</span><span class="p">.</span><span class="n">contains</span><span class="p">(</span><span class="o">&amp;</span><span class="n">n_ty_original</span><span class="p">)</span><span class="w"></span>
<span class="w">                </span><span class="o">&amp;&amp;</span><span class="w"> </span><span class="o">!</span><span class="n">is_call_expression</span><span class="p">(</span><span class="o">&amp;</span><span class="n">hir_id</span><span class="p">)</span><span class="w"> </span><span class="c1">// &lt;-- the new logic</span>
<span class="w">            </span><span class="p">{</span><span class="w"></span>
<span class="w">                </span><span class="bp">self</span><span class="p">.</span><span class="n">tcx</span><span class="p">().</span><span class="n">struct_span_lint_hir</span><span class="p">(</span><span class="w"></span>
<span class="w">                    </span><span class="n">rustc_session</span>::<span class="n">lint</span>::<span class="n">builtin</span>::<span class="n">FALL_BACK_TO_NEVER_TYPE</span><span class="p">,</span><span class="w"></span>
<span class="w">                    </span><span class="n">hir_id</span><span class="p">,</span><span class="w"></span>
<span class="w">                    </span><span class="n">span</span><span class="p">,</span><span class="w"></span>
<span class="w">                    </span><span class="o">|</span><span class="n">lint</span><span class="o">|</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">                        </span><span class="n">lint</span><span class="p">.</span><span class="n">build</span><span class="p">(</span><span class="o">&amp;</span><span class="n">format</span><span class="o">!</span><span class="p">(</span><span class="s">"resulted from diverging fallback: {:?}"</span><span class="p">,</span><span class="w"> </span><span class="n">n_ty</span><span class="p">)).</span><span class="n">emit</span><span class="p">()</span><span class="w"></span>
<span class="w">                    </span><span class="p">},</span><span class="w"></span>
<span class="w">                </span><span class="p">);</span><span class="w"></span>
<span class="w">            </span><span class="p">}</span><span class="w"></span>
<span class="w">        </span><span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="216528060"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528060" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528060">(Nov 12 2020 at 21:01)</a>:</h4>
<p>to implement <code>is_call_expression</code> ...</p>



<a name="216528158"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528158" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528158">(Nov 12 2020 at 21:02)</a>:</h4>
<p>we wanted to test if this inference comes from unification vs return type and that logic goes in the new function we will add ?</p>



<a name="216528292"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528292" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528292">(Nov 12 2020 at 21:03)</a>:</h4>
<p>no I mean I am proposing something simpler</p>



<a name="216528307"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528307" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528307">(Nov 12 2020 at 21:03)</a>:</h4>
<p>basically we are looking at the "result type" of some expression, right?</p>



<a name="216528331"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528331" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528331">(Nov 12 2020 at 21:04)</a>:</h4>
<p>(hmm, I guess this logic I am thinking of may not suffice...)</p>



<a name="216528435"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528435" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528435">(Nov 12 2020 at 21:04)</a>:</h4>
<p>I have to run, but the thing I was thinking is that</p>



<a name="216528445"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528445" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528445">(Nov 12 2020 at 21:05)</a>:</h4>
<p>we would just never lint on expressions that are calls</p>



<a name="216528454"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528454" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528454">(Nov 12 2020 at 21:05)</a>:</h4>
<p>but I realize now this is clearly not going to work so well</p>



<a name="216528480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528480">(Nov 12 2020 at 21:05)</a>:</h4>
<p>e.g., if we have <code>{foo()}</code></p>



<a name="216528495"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528495" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528495">(Nov 12 2020 at 21:05)</a>:</h4>
<p>that would be</p>



<a name="216528503"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528503" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528503">(Nov 12 2020 at 21:05)</a>:</h4>
<ul>
<li>block<br>
    * ExprCall</li>
</ul>



<a name="216528509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528509">(Nov 12 2020 at 21:05)</a>:</h4>
<p>both with the same type</p>



<a name="216528522"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528522" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528522">(Nov 12 2020 at 21:05)</a>:</h4>
<p>so we might skip linting the call but we'd still lint the block</p>



<a name="216528601"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528601" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528601">(Nov 12 2020 at 21:06)</a>:</h4>
<p>what we <em>really</em> want to do is to change how we handle the inference here</p>



<a name="216528633"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528633" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528633">(Nov 12 2020 at 21:06)</a>:</h4>
<p>to give "directionality" to the unification</p>



<a name="216528653"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528653" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528653">(Nov 12 2020 at 21:06)</a>:</h4>
<p>you know, I think we could do that</p>



<a name="216528669"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528669" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528669">(Nov 12 2020 at 21:07)</a>:</h4>
<p>e.g., if we have</p>
<div class="codehilite" data-code-language="Rust"><pre><span></span><code><span class="k">match</span><span class="w"> </span><span class="nb">Default</span>::<span class="n">default</span><span class="p">()</span><span class="w"> </span><span class="p">{</span><span class="w"></span>
<span class="w">    </span><span class="nb">Some</span><span class="p">(</span><span class="n">x</span><span class="p">)</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="n">x</span><span class="p">,</span><span class="w"></span>
<span class="w">    </span><span class="nb">None</span><span class="w"> </span><span class="o">=&gt;</span><span class="w"> </span><span class="k">return</span><span class="p">,</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
</code></pre></div>



<a name="216528687"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528687" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528687">(Nov 12 2020 at 21:07)</a>:</h4>
<p>the type of <code>x</code> will be a <code>?T</code> variable</p>



<a name="216528695"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528695" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528695">(Nov 12 2020 at 21:07)</a>:</h4>
<p>the type of return will be <code>!</code></p>



<a name="216528709"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528709" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528709">(Nov 12 2020 at 21:07)</a>:</h4>
<p>today, when we try to coerce those together, we'll create a <code>?U</code> that falls back to <code>!</code></p>



<a name="216528711"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528711" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528711">(Nov 12 2020 at 21:07)</a>:</h4>
<p>and unify it with <code>?T</code></p>



<a name="216528721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528721">(Nov 12 2020 at 21:07)</a>:</h4>
<p>this is how the <code>!</code> "leaks" backward into live code</p>



<a name="216528731"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528731" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528731">(Nov 12 2020 at 21:08)</a>:</h4>
<p>the <em>problem</em> here is that we are <em>unifying</em></p>



<a name="216528733"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528733" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528733">(Nov 12 2020 at 21:08)</a>:</h4>
<p>I see</p>



<a name="216528782"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528782" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528782">(Nov 12 2020 at 21:08)</a>:</h4>
<p>but if we remembered <code>?T -&gt; ?U</code> (i.e., <code>?T</code> must be <em>assignable</em> to <code>?U</code>)</p>



<a name="216528791"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528791" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528791">(Nov 12 2020 at 21:08)</a>:</h4>
<p>we could, during fallback,</p>



<a name="216528794"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528794" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528794">(Nov 12 2020 at 21:08)</a>:</h4>
<p>still propagate the <code>!</code> backwards</p>



<a name="216528802"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528802" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528802">(Nov 12 2020 at 21:08)</a>:</h4>
<p>but issue a warning at the same time</p>



<a name="216528822"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528822" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528822">(Nov 12 2020 at 21:08)</a>:</h4>
<p>because <em>that</em> is the problematic case</p>



<a name="216528896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528896">(Nov 12 2020 at 21:09)</a>:</h4>
<p>that would probably avoid the false positives <em>and</em> might even give us a route to making this sort of thing a hard error in the future I guess</p>



<a name="216528930"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528930" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528930">(Nov 12 2020 at 21:09)</a>:</h4>
<p><em>actually</em></p>



<a name="216528932"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528932" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528932">(Nov 12 2020 at 21:09)</a>:</h4>
<p>woah</p>



<a name="216528944"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528944" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528944">(Nov 12 2020 at 21:09)</a>:</h4>
<p>we could, in that acse</p>



<a name="216528947"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528947" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528947">(Nov 12 2020 at 21:09)</a>:</h4>
<p>I can explore that thought</p>



<a name="216528956"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216528956" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216528956">(Nov 12 2020 at 21:09)</a>:</h4>
<p>convert .. to <code>()</code></p>



<a name="216529013"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529013" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529013">(Nov 12 2020 at 21:10)</a>:</h4>
<p>and not break the code at all</p>



<a name="216529028"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529028" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529028">(Nov 12 2020 at 21:10)</a>:</h4>
<p>i.e., if we have a diverging fallback variable</p>



<a name="216529039"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529039" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529039">(Nov 12 2020 at 21:10)</a>:</h4>
<p>Nice ! Thinking aloud helps <span aria-label="grinning" class="emoji emoji-1f600" role="img" title="grinning">:grinning:</span></p>



<a name="216529046"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529046" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529046">(Nov 12 2020 at 21:10)</a>:</h4>
<p>we can see whether it has any of these "reverse" edges so to speak, or if all the flow is forward</p>



<a name="216529077"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529077" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529077">(Nov 12 2020 at 21:10)</a>:</h4>
<p>yeah this is an exciting thought</p>



<a name="216529109"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529109" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529109">(Nov 12 2020 at 21:11)</a>:</h4>
<p>So basically if </p>
<blockquote>
<p>we remembered ?T -&gt; ?U (i.e., ?T must be assignable to ?U)</p>
</blockquote>
<p>then make it fall back to unit instead ?</p>



<a name="216529111"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529111" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529111">(Nov 12 2020 at 21:11)</a>:</h4>
<p>I think I would <em>still</em> issue a warning :P</p>



<a name="216529118"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529118" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529118">(Nov 12 2020 at 21:11)</a>:</h4>
<p>but yes</p>



<a name="216529136"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529136" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529136">(Nov 12 2020 at 21:11)</a>:</h4>
<p>the warning would be like "oh btw we picked <code>()</code> here totally randomly"</p>



<a name="216529156"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529156" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529156">(Nov 12 2020 at 21:11)</a>:</h4>
<p>but that's an entirely separate thing</p>



<a name="216529157"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529157" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529157">(Nov 12 2020 at 21:11)</a>:</h4>
<p>we could decide</p>



<a name="216529246"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529246" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529246">(Nov 12 2020 at 21:12)</a>:</h4>
<p>we might not want to, or we might avoid some cases like <code>Err(22)?</code></p>



<a name="216529266"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529266" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529266">(Nov 12 2020 at 21:12)</a>:</h4>
<p>(in that case, <code>Err(22)</code> would wind up with a type of <code>Result&lt;(), i32&gt;</code>)</p>



<a name="216529275"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529275" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529275">(Nov 12 2020 at 21:12)</a>:</h4>
<p>because the "ok" type would fall back to <code>()</code></p>



<a name="216529301"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529301" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529301">(Nov 12 2020 at 21:12)</a>:</h4>
<p>ok, well, I have to run, but if you want to think about that, feel free, otherwise we can talk about how to implement a bit later</p>



<a name="216529327"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529327" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529327">(Nov 12 2020 at 21:13)</a>:</h4>
<p>basically what I would expect to do though</p>



<a name="216529361"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529361" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529361">(Nov 12 2020 at 21:13)</a>:</h4>
<p>is to record the "edge" in some side table during coercion</p>



<a name="216529375"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529375" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529375">(Nov 12 2020 at 21:13)</a>:</h4>
<p>man, kind of gross and complex, but...</p>



<a name="216529406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529406">(Nov 12 2020 at 21:13)</a>:</h4>
<p>(I pity the fool who ever has to formalize rust inference :)</p>



<a name="216529429"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529429" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529429">(Nov 12 2020 at 21:13)</a>:</h4>
<p>lol</p>



<a name="216529500"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529500" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529500">(Nov 12 2020 at 21:14)</a>:</h4>
<p>There is an effort to do that right ?</p>



<a name="216529532"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529532" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529532">(Nov 12 2020 at 21:14)</a>:</h4>
<p>I'm not aware of any</p>



<a name="216529554"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529554" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529554">(Nov 12 2020 at 21:14)</a>:</h4>
<p>I've thought about it at some point</p>



<a name="216529568"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529568" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529568">(Nov 12 2020 at 21:14)</a>:</h4>
<p>but ..</p>



<a name="216529593"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529593" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529593">(Nov 12 2020 at 21:15)</a>:</h4>
<p>The lang-spec team won't try that ?</p>



<a name="216529629"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529629" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529629">(Nov 12 2020 at 21:15)</a>:</h4>
<p>there is no lang-spec team that I know of, but even if there were, I think we'd start from an easier point</p>



<a name="216529632"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529632" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529632">(Nov 12 2020 at 21:15)</a>:</h4>
<p>e.g., spec'ing MIR</p>



<a name="216529640"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529640" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529640">(Nov 12 2020 at 21:15)</a>:</h4>
<p>after inference has completed</p>



<a name="216529655"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529655" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529655">(Nov 12 2020 at 21:15)</a>:</h4>
<p>or spec'ing something like MIR anyway</p>



<a name="216529689"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529689" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529689">(Nov 12 2020 at 21:15)</a>:</h4>
<p>plenty of challenges there</p>



<a name="216529706"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529706" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529706">(Nov 12 2020 at 21:15)</a>:</h4>
<p>Well if you don't know then they don't exist <span aria-label="grinning" class="emoji emoji-1f600" role="img" title="grinning">:grinning:</span></p>



<a name="216529770"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529770" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529770">(Nov 12 2020 at 21:16)</a>:</h4>
<p>i'd like to see such an effort ;)</p>



<a name="216529859"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529859" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529859">(Nov 12 2020 at 21:17)</a>:</h4>
<p>you have to start it</p>



<a name="216529866"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529866" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529866">(Nov 12 2020 at 21:17)</a>:</h4>
<p><span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="216529933"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216529933" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216529933">(Nov 12 2020 at 21:17)</a>:</h4>
<p>I will update our hack md just to lay out the though clearly. We discussed a lot of options today.</p>



<a name="216530001"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216530001" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216530001">(Nov 12 2020 at 21:18)</a>:</h4>
<p>I want to make sure I understood it.</p>



<a name="216530012"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216530012" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216530012">(Nov 12 2020 at 21:18)</a>:</h4>
<p>sounds good</p>



<a name="216530032"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216530032" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216530032">(Nov 12 2020 at 21:18)</a>:</h4>
<p>I will let you comment on that before I proceed</p>



<a name="216530049"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216530049" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216530049">(Nov 12 2020 at 21:18)</a>:</h4>
<p>Awesome !</p>



<a name="216530074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216530074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216530074">(Nov 12 2020 at 21:18)</a>:</h4>
<p>side note that this zulip sync was fine</p>



<a name="216530079"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216530079" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216530079">(Nov 12 2020 at 21:19)</a>:</h4>
<p>maybe we can do this from now on</p>



<a name="216530087"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216530087" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216530087">(Nov 12 2020 at 21:19)</a>:</h4>
<p>it's somewhat nicer for me, I get zoom overload</p>



<a name="216530088"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216530088" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216530088">(Nov 12 2020 at 21:19)</a>:</h4>
<p>Thanks a lot <span class="user-mention" data-user-id="116009">@nikomatsakis</span> for your time and sharing your thoughts. Appreciate it. Let's talk again</p>



<a name="216530104"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216530104" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216530104">(Nov 12 2020 at 21:19)</a>:</h4>
<p>plus we have a nice chat record :)</p>



<a name="216530137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216530137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216530137">(Nov 12 2020 at 21:19)</a>:</h4>
<p>totally, If we are not sharing screen, then zulip works <span aria-label="smile" class="emoji emoji-1f642" role="img" title="smile">:smile:</span></p>



<a name="216534074"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216534074" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Joshua Nelson <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216534074">(Nov 12 2020 at 21:50)</a>:</h4>
<p><span class="user-mention silent" data-user-id="116009">nikomatsakis</span> <a href="#narrow/stream/259160-t-lang.2Fproject-never-type/topic/meeting.202020-nov-12/near/216524436">said</a>:</p>
<blockquote>
<p>I'm wondering who is a good person to ping about this</p>
</blockquote>
<p>clippy has to deal with this for a lot of their lints, maybe they have suggestions?</p>



<a name="216549896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/259160-t-lang/project-never-type/topic/meeting%202020-nov-12/near/216549896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> blitzerr <a href="https://rust-lang.github.io/zulip_archive/stream/259160-t-lang/project-never-type/topic/meeting.202020-nov-12.html#216549896">(Nov 13 2020 at 00:32)</a>:</h4>
<p>That's a good point Joshua. I guess Niko, figured the code he was looking for.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>